/*
 * 可以用子类的类成员函数指针指向父类的成员函数，
 * 但是用父类的类成员函数指针无法指向子类的成员函数，
 * 不管是否声明为虚函数，结果都是一样的。
 */
#include<iostream>
using namespace std;

class Parent
{
    public:
        Parent()
        {}
        virtual ~Parent()
        {}
    public:
        virtual int Display()
        {
            cout<<"Parent::Display"<<endl;
            return 0;
        }
};

class Child : public Parent
{
    public:
        Child()
        {}
        virtual ~Child()
        {}

    public:
        virtual int Display()
        {
            cout<<"Child::Display"<<endl;
            return 1;
        }

};

int main()
{
    int (Parent::*pFunc1)() = &Parent::Display;
    //int (Parent::*pFunc2)() = &Child::Display;
    int (Child::*pFunc3)()  = &Parent::Display;
    int (Child::*pFunc4)()  = &Child::Display;
}
